// VRectangle.h
//
#ifndef VRECTANGLE_H
#define VRECTANGLE_H

#include "VObject.h"

#include "OpenGL/Math.h"
#include "OpenGL/box.h"

namespace OpenGL {
	class Renderer;
}


class VRectangle : public VObject
{
private:
	OpenGL::Math::box3 _rect;

public:
	VRectangle();
	VRectangle( const OpenGL::Math::dvec3 &bottomLeft, const OpenGL::Math::dvec3 &topRight );
	VRectangle( const OpenGL::Math::box3 &rect );

	~VRectangle() {}

	ObjectType type() const ;
	std::vector<OpenGL::Math::dvec3> snapPoints() const;
	OpenGL::Math::dvec3 textPosition() const ;



	void draw( OpenGL::Renderer *r ) const;
	void drawForSelection( OpenGL::Renderer *r ) const;
	bool intersects( const OpenGL::Math::box3 &b ) const;
};

#endif